package com.github.yoojia.mqtt;

import java.io.IOException;

/**
 * @author Yoojia Chen (yoojiachen@gmail.com)
 * @since 1.0
 */
public interface SocketListener {
    /**
     * 连接服务端成功后回调
     */
    void onConnected();

    /**
     * 连接服务端过程中发生错误时回调
     *
     * @param error 发生错误的异常信息
     */
    void onConnectError(Throwable error);

    /**
     * 在连接断开时回调
     *
     * @param cause 出错信息
     */
    void onConnectionLost(Throwable cause);

    /**
     * 断开服务端时回调
     */
    void onDisconnected();

    /**
     * 在发送消息发生错误时回调
     *
     * @param e 异常消息
     */
    void onMessageError(IOException e);
}
